package cn.iocoder.yudao.module.pickbook.service.user;

import cn.iocoder.yudao.module.pickbook.dal.dataobject.user.PickbookUserDO;

/**
 * 用户 Service 接口
 *
 * @author 芋道源码
 */
public interface PickbookUserService {

    /**
     * 通过微信OpenID获取用户
     *
     * @param openid 微信OpenID
     * @return 用户信息
     */
    PickbookUserDO getUserByOpenid(String openid);

    /**
     * 通过微信UnionID获取用户
     *
     * @param unionid 微信UnionID
     * @return 用户信息
     */
    PickbookUserDO getUserByUnionid(String unionid);

    /**
     * 创建用户（微信登录）
     *
     * @param openid 微信OpenID
     * @param unionid 微信UnionID
     * @param nickname 用户昵称
     * @param avatar 用户头像
     * @return 用户信息
     */
    PickbookUserDO createUser(String openid, String unionid, String nickname, String avatar);

    /**
     * 更新用户信息
     *
     * @param user 用户信息
     */
    void updateUser(PickbookUserDO user);

    /**
     * 获取用户信息
     *
     * @param id 用户ID
     * @return 用户信息
     */
    PickbookUserDO getUser(Long id);

} 